#!/usr/bin/env bash26
# 参数以空格为分隔
DATA_DIRS="data/full_data/vector" # 师姐的原始数据 + Word2Vec
#DATA_DIRS="data/full_data/vector_bert" # 师姐的原始数据 + BERT
#DATA_DIRS="data/full_data_video/vector" # 边界降噪数据 + Word2Vec
#DATA_DIRS="data/full_data_video/vector_bert" # 边界降噪数据 + BERT
EPOCHS="100"
LRS="0.001"
RNN_SIZES="64"
FAKE_TASKS="POS"
RNN_KEEP_PROBS="0.1"
DOMAIN_KEEP_PROBS="0.1"
SOFT_ATT_SIZES="128"
USE_SELF_ATTS="True True True True True" # True/False
NUM_CLASS=31 # 31 or 2
NTAGS="26"  # 这个非常重要，如果使用word2vec，NTAGS 为26  使用BERT，NTAGS则应该修改为51
for lr in $LRS ; do
    for rnn_size in $RNN_SIZES ; do
        for fake_task in $FAKE_TASKS ; do
            for RNN_KEEP_PROB in $RNN_KEEP_PROBS ; do
                for SOFT_ATT_SIZE in $SOFT_ATT_SIZES; do
                    for DATA_DIR in $DATA_DIRS ; do
                        for USE_SELF_ATT in $USE_SELF_ATTS; do
                            for DOMAIN_KEEP_PROB in $DOMAIN_KEEP_PROBS ; do
                                SAVE_DIR="log/liu/"`date "+%Y-%m-%d-%R"`
                                # $1 为命令行传给shell脚本的参数，表示同时线程池最大任务数
                                python3 train_joint_mul_task.py --num_thread $1 --num_class $NUM_CLASS  --soft_att_size $SOFT_ATT_SIZE --rnn_keep_prob $RNN_KEEP_PROB --domain_keep_prob $DOMAIN_KEEP_PROB --fake_task $fake_task --ntags $NTAGS --data_dir $DATA_DIR --lr $lr --rnn_size $rnn_size --log_dir $SAVE_DIR --epochs $EPOCHS --use_self_att $USE_SELF_ATT
                                python3 predict_joint.py --log_dir $SAVE_DIR
                            done
                        done
                    done
                done
            done
        done
    done
done

